#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int INF=0x3f3f3f3f;
const int N=20;
int a[N];
int b[N];
int st[N];
int Win;
int Lose;
int Draw;
int n;
void dfs(int idx,int w,int l)
{
	if(idx==n)
	{
		if(w>l)
		{
			Win++;
		}
		else if(w==l)
		{
			Draw++;
		}
		else
		{
			Lose++;
		}
		return;
	}
	for(int i=0;i<n;i++)
	{
		if(st[i]==0)
		{
			int win=0;
			int lose=0;
			if(a[idx]>b[i])
			{
				win=1;
			}
			else if(a[idx]<b[i])
			{
				lose=1;
			}
			st[i]=1;
			dfs(idx+1,w+win,l+lose); 
			st[i]=0;
		}
	}
}
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	for(int i=0;i<n;i++)
	{
		cin>>b[i];
	}
	dfs(0,0,0);
	cout<<Win<<' '<<Draw<<' '<<Lose;

	return 0;
}

